package com.sh.面试;

/**
 * @Auther: sh
 * @Version 1.0
 * @Description:
 */
public class TestOne {
    public static void main(String[] args) {

        String s1 = "a";   // 常量池中添加  a
        String s2 = "b";    // 常量池中添加  b
        String s3 = "a" + "b";   // 常量池中添加  ab
        String s4 = s1 + s2;   // 堆中多一个   ab
        String s5 = "ab";   // 复用常量词中的ab
        String s6 = s4.intern();   //  返回常量池中的ab
// 问
        System.out.println(s3 == s4);   // false
        System.out.println(s3 == s5);   // true
        System.out.println(s3 == s6);   // true
        String x2 = new String("c") + new String("d");
        String x1 = "cd";
        x2.intern();
// 问，如果调换了【最后两行代码】的位置呢，如果是jdk1.6呢
        System.out.println(x1 == x2);   // false
    }
}

